python GUI 与 Swing 相比?
全部标签 请注意,这是一篇很长的文章。很抱歉,但我想阐明我的观点:很长一段时间以来,我一直在想如何将SwingGUI与表示和业务逻辑分开。在工作中,我必须为一些数据实现3MDExcel导出,并使用一个小的Swing对话框来配置导出。我们没有为此使用像Spring这样的框架,所以我必须自己实现它。我想将GUI与业务逻辑完全分开,它们的任务如下:告诉BL从GUI开始工作从BL到GUI报告进度报告从BL到GUI的日志记录将BL结果委托(delegate)给GUI当然,GUI不应该注意到BL的实现,反之亦然。我为上面的所有这些任务创建了几个接口(interface),e。G。一个ProgressList
有没有办法在swing应用程序中使用JavaFX触摸事件?目前我正在使用JFXPanel来捕获JavaFX事件,但是当我尝试获取事件时,我没有接收到任何触摸事件,而只接收到鼠标事件。这是在Windows8.1戴尔触摸屏上测试的。更新:下面的代码是我用来获取事件的框架。此JFXPanel在Swing应用程序中用作玻璃面板。这会为玻璃面板创建一个JFXPanel,它能够捕获所有事件。publicclassMouseEventRouterextendsJFXPanel{...publicZeusMouseEventRouter(JMenuBarmenuBar,Containercontent
我有一个JFrame可以接受顶级文件。但是,在发生丢弃之后,对框架的引用将无限期地保留在某些Swing内部类中。我相信处理框架应该释放它的所有资源,那么我做错了什么?例子importjava.awt.datatransfer.DataFlavor;importjava.io.File;importjava.util.List;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.TransferHandler;publicclassDnDLeakTesterextendsJFrame{publicstat
我正在尝试为棋盘中的棋子制作动画。首先,我创建了一个java.util.Timer对象,它“scheduleAtFixedRate”一个作为代理函数实现的TimerTask。所以我记录了要移动的片段(片段移动记录),当它适当时(当用户使用鼠标移动片段时)TimerTask代理函数应该测试记录是否为零并执行片段-移动功能。根据预先计算的vector,棋子移动功能只是更新棋子的x和y坐标。我在棋子移动记录上放了一个add-watch,所以当它改变时它应该重新绘制板(Canvas)。paint方法测试这个piece-moving-record是否不为nil来绘制它。问题是动画没有出现。曲子只
使用thisquestion,我创建了下面的类,它处理将文件拖放到JTextField中。该应用程序的重点是能够将文件拖到文本字段中,并将文本字段的文本设置为文件的路径(您可以在代码中清楚地看到目标)。我的问题是下面的代码无法编译。编译错误状态Cannotreferencenon-finalvariablemyPanelinsideaninnerclassdefinedinadifferentmethod。我对内部类的工作不多,所以有人可以告诉我如何解决错误并使代码按设计运行吗?代码:importjava.awt.datatransfer.DataFlavor;importjava.a
我在Java中得到一个MouseEvent。getPoint()方法将标题栏的高度添加到坐标的y部分。我想知道如何找到当前窗口标题栏的高度,以便将y值偏移正确的量。 最佳答案 您可以通过调用getInsets方法(在Container中定义)找到框架插图。Frameinsets在FrameAPI文档的顶部讨论。Seethisquestion.当然,您始终可以将鼠标监听器添加到内容Pane。JFrame在某些方法(例如add和setLayout)上有一些意外行为。 关于java-Java(
我正在使用DefaultComboBoxModel在JComboBox中显示客户列表。该列表目前只显示他们的名字。我还想在DefaultComboBoxModel中引用每个客户,以便在选择名称时,它还包含对真实客户对象的引用。要实现这一点,我怀疑我必须扩展DefaultComboBoxModel并可能覆盖addElement()方法?或者我可以只添加一个新方法来存储我对客户的引用吗?如果是这样,我是否必须查看DefaultComboBoxModel的源代码以了解它如何存储元素?抱歉,如果这个问题令人困惑,但我无法弄清楚如何以正确的方式做到这一点。感谢阅读。
有没有办法在swing应用程序中隐藏关闭按钮?我知道我可以设置JFrame.DO_NOTHING_ON_CLOSE但有没有办法完全消除它?如果我写setUndecorated(true)我得到IllegalComponentStateException-框架可显示 最佳答案 在框架已经显示时使用frame.setUndecorated(true)会导致错误,因为这在API中是不允许的.相反,在设置frame.setVisible(true)之前使用frame.setUndecorated(true)。这应该可以解决您的错误:Ille
我正在开发一个使用Swing的应用程序。我已经成功地创建了一个供用户使用的主GUI。但是,我想允许用户更改他/她的设置。我应该如何创build置窗口?使用名为“设置”的新JFrame是否是处理此问题的最佳方式,还是有比第二个JFrame更好的方法?(注意:设置JFrame,退出时,不会关闭主GUI,会使用DISPOSE方法)我想以一种消耗最少内存的方式来处理这个问题,同时保持应用程序的专业外观。 最佳答案 您考虑过CardLayout吗?http://docs.oracle.com/javase/tutorial/uiswing/l
在JavaSwing中,我可以如下注册一个特定gui事件的监听器guiElement.addMouseListener(myListener);但是如果我想自动注册到我的GUI应用程序中的所有鼠标事件怎么办?我应该为每个元素注册myListener吗?换句话说,我正在寻找的是类似myListener.registerToEventType(MouseEvent.class)有什么想法吗?谢谢 最佳答案 butwhatifIwanttoautomaticallyregistertoallthemouseeventsinmyGUIapp